﻿using System;
using System.Web;

namespace FBGraph.Web
{
    /// <summary>Encapsulates web-specific functionality for the Graph API client.</summary>
    public interface IFBGraphHttpContext : IFBGraphContext
    {
        /// <summary>Gets a reference to the current HTTP context.</summary>
        HttpContextBase HttpContext { get; }

        /// <summary>Sets the Graph API access token for the current user.</summary>
        /// <param name="token">The <see cref="String" /> access token.</param>
        /// <param name="expires">The expiration date/time of the access token.</param>
        void SetAccessToken(String token, DateTime expires);

        /// <summary>Removes the current Graph API access token for the current user.</summary>
        void RemoveAccessToken();

        /// <summary>Provides access to user- and application-specific cookies.</summary>
        CookieManager Cookies { get; }
    }
}